Mình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Thông báo
Collapse
No announcement yet.
{HELP} Dùng VDK tạo reset cho chính nó !
Collapse
X
-
8051 (89C51) bị reset ở mức 1 và khi nó đang reset thì các PORT 1,2,3 ở mức cao.Nguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Comment
-
Vậy chưa phải là Reset vì các biến trong RAM, các ngoại vi sẽ không bị xóa... Rất có thể làm loạn chương trình...Nguyên văn bởi chung1608 Xem bài viếtreset cho VDK ko nhất thiết phải tác động vào chân reset, bạn có thể dùng lệnh nhảy lên đầu chương trình chính là xem như reset rồi
Bạn duong_act nói đúng 1 nửa (nửa trên)...Nguyên văn bởi duong_act Xem bài viết8051 (89C51) bị reset ở mức 1 và khi nó đang reset thì các PORT 1,2,3 ở mức cao.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
89 khi đang chạy mà bị reset cứng thì nó chỉ trả giá trị 0000h cho thanh ghi PC để trở về địa chỉ ORG 0000h thôi, giá trị của RAM vẫn đc giữa nguyên chỉ có các thanh ghi port mới trở về mặc định 0xFF.Nguyên văn bởi Acxen_lupine Xem bài viếtVậy chưa phải là Reset vì các biến trong RAM, các ngoại vi sẽ không bị xóa... Rất có thể làm loạn chương trình...
Bạn duong_act nói đúng 1 nửa (nửa trên)...
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...
Comment
-
1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Sẽ là thiếu vì tất cả các SFRs (chứ không phải chỉ có các port) sẽ đồng loạt trở về giá trị mặc định sau 2 chu kỳ máy.Nguyên văn bởi chung1608 Xem bài viết89 khi đang chạy mà bị reset cứng thì nó chỉ trả giá trị 0000h cho thanh ghi PC để trở về địa chỉ ORG 0000h thôi, giá trị của RAM vẫn đc giữa nguyên chỉ có các thanh ghi port mới trở về mặc định 0xFF.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nếu là 89s thì bác có thể dùng thẳng wdt của nóNguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Còn nếu là 89c thì bác có thể mắc mạch 555 tạo xung, sau mỗi chu kỳ định sẵn thì đưa xung ra reset lại 555, nếu vì lý do nào đó mà 89 bị treo thì nó sẽ dc 555 reset lại- Mạch nạp vdk 8051, AVR, PIC, EEPROM
- Linh kiện điện tử cho sinh viên
Comment
-
Nhưng chủ top đâu có dùng để thoát trạng thái rối loạn hay mắc kẹt ở đâu đó mà là chủ ý reset khi có tác động mức 1 ở chân nào đó kia mà. Còn việc reset khi lỗi thì đượng nhiên là WDT rồi. Cái này thì không bàn cãi.Nguyên văn bởi Acxen_lupine Xem bài viết1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Sẽ là thiếu vì tất cả các SFRs (chứ không phải chỉ có các port) sẽ đồng loạt trở về giá trị mặc định sau 2 chu kỳ máy.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...
Comment
-
Thế thì bạn dạy người ta làm thế nào để Reset có chủ ý đi. Nhưng nhớ là họ cần reset chứ không phải chạy lại chương trình từ đầu đâu nhé... Hai khái niệm này hoàn toàn khác nhau.Nguyên văn bởi duong_act Xem bài viếtNhưng chủ top đâu có dùng để thoát trạng thái rối loạn hay mắc kẹt ở đâu đó mà là chủ ý reset khi có tác động mức 1 ở chân nào đó kia mà. Còn việc reset khi lỗi thì đượng nhiên là WDT rồi. Cái này thì không bàn cãi.
Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Hơ, cái này thì có khó gì đâu...Nguyên văn bởi duong_act Xem bài viếtỜ bạn chỉ tôi cách mà Reset không chạy lại chương trình từ đầu rồi tôi nói tiếp
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Tôi thì tôi gà nên tôi chịuNguyên văn bởi Acxen_lupine Xem bài viếtHơ, cái này thì có khó gì đâu...
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.
Có gì cao kiến thì chia sẻ cùng anh em cái
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho LÀM BOARD Cho ARDUINObởi NannaMấy ông tín đồ Adruino có kit có thể làm thử xem thế nào !
————————————————————————
skysmotor.co.uk bán các sản phẩm sau trực tuyến: động cơ bước, động cơ servo, trình điều khiển động cơ bước, hộp số hành tinh và có thể mua trực tuyến nếu cần.-
Channel: Kiến thức chung về chip khả trình
hôm nay, 15:12 -
-
bởi opthaianTrong quy trình sản xuất rượu, việc lựa chọn thiết bị chưng cất phù hợp không chỉ ảnh hưởng đến chất lượng thành phẩm mà còn quyết định hiệu quả kinh doanh lâu dài của mỗi xưởng sản xuất. Đặc biệt với các xưởng nhỏ, thách...
-
Channel: Góp ý cho diễn đàn
hôm nay, 12:00 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
Hôm qua, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment